package cn.iocoder.yudao.module.reading.controller.admin.banner.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 管理后台 - 横幅管理 Response VO
 *
 * @author 李晨
 */
@Schema(description = "管理后台 - 横幅管理 Response VO")
@Data
public class BannerRespVO {

    @Schema(description = "横幅ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long id;

    @Schema(description = "横幅标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "🎉 暑假限时特价活动")
    private String title;

    @Schema(description = "横幅描述", example = "精选绘本集5折起，快来抢购吧！")
    private String description;

    @Schema(description = "横幅图片URL", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://example.com/banner.jpg")
    private String imageUrl;

    @Schema(description = "跳转链接URL", example = "/pages/category/index?category=special")
    private String linkUrl;

    @Schema(description = "链接类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "internal")
    private String linkType;

    @Schema(description = "排序权重", requiredMode = Schema.RequiredMode.REQUIRED, example = "100")
    private Integer sortOrder;

    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "true")
    private Boolean status;

    @Schema(description = "开始展示时间", example = "2025-01-01T00:00:00")
    private LocalDateTime startTime;

    @Schema(description = "结束展示时间", example = "2025-03-31T23:59:59")
    private LocalDateTime endTime;

    @Schema(description = "点击次数统计", example = "100")
    private Integer clickCount;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime createTime;

    @Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime updateTime;

}
